<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      let data = {
        name: "zx",
        age: 18,
      };
      let str = "<div>我的{{name}}今年{{ age }}岁</div>";
      let pattern = /{{\s*([a-zA-Z]+)\s*}}/;
      let res = "";
      while ((res = pattern.exec(str))) {
        //  data[res[1]] 是对象的属性名的意思
        // 第一次匹配 [res[1]] 结果是 name  也就是data[name]='zx'
        // 第二次匹配 [res[1]] 结果是 age   也就是data[age]=18
        str = str.replace(res[0], data[res[1]]);
      }
      console.log(str);
    </script>
  </body>
</html>
